Revision: tla--devo--1.3.1--patch-7
Archive: lord@emf.net--2005
Creator: Thomas Lord <lord@emf.net>
Date: Sun Feb 13 10:21:48 PST 2005
Standard-date: 2005-02-13 18:21:48 GMT
Modified-files: libarch/ancestry.c
    libarch/apply-changeset.c libarch/arbdelta.c
    libarch/archive-mirror.c libarch/archive-pfs.c
    libarch/archive-setup.c libarch/archive-snapshot.c
    libarch/archive.c libarch/archives.c
    libarch/build-revision.c libarch/cached-inventory.c
    libarch/changeset-report.c libarch/changeset-utils.c
    libarch/cmd-abrowse.c libarch/cmd-ancestry-graph.c
    libarch/cmd-ancestry.c libarch/cmd-archive-setup.c
    libarch/cmd-archives.c libarch/cmd-branches.c
    libarch/cmd-cachedrevs.c libarch/cmd-cat-config.c
    libarch/cmd-categories.c libarch/cmd-changes.c
    libarch/cmd-changeset.c libarch/cmd-commit.c
    libarch/cmd-delta.c libarch/cmd-get.c libarch/cmd-grab.c
    libarch/cmd-import.c libarch/cmd-library-add.c
    libarch/cmd-library-archives.c
    libarch/cmd-library-branches.c
    libarch/cmd-library-categories.c
    libarch/cmd-library-find.c libarch/cmd-library-remove.c
    libarch/cmd-library-revisions.c
    libarch/cmd-library-versions.c libarch/cmd-logs.c
    libarch/cmd-merges.c libarch/cmd-missing.c
    libarch/cmd-my-revision-library.c
    libarch/cmd-new-merges.c libarch/cmd-pristines.c
    libarch/cmd-rbrowse.c libarch/cmd-replay.c
    libarch/cmd-revisions.c libarch/cmd-star-merge.c
    libarch/cmd-tag.c libarch/cmd-update.c
    libarch/cmd-versions.c libarch/cmdutils.c
    libarch/commit.c libarch/configs.c
    libarch/copy-project-tree.c libarch/file-diffs.c
    libarch/import.c libarch/inode-sig.c libarch/invent.c
    libarch/libraries.c libarch/library-txn.c
    libarch/local-cache.c libarch/make-changeset-files.c
    libarch/make-changeset.c libarch/merge-points.c
    libarch/missing.c libarch/my.c libarch/namespace.c
    libarch/namespace.h libarch/patch-logs.c
    libarch/pfs-dav.c libarch/pfs-fs.c libarch/pfs-ftp.c
    libarch/pfs-sftp.c libarch/pfs.c libarch/pristines.c
    libarch/proj-tree-lint.c libarch/star-merge.c
    libarch/sync-tree.c libarch/tag.c libarch/undo.c
    libarch/whats-new.c libawk/relational.c
    libawk/relational.h libfsutils/dir-listing.c
    libfsutils/link-tree.c
New-patches: lord@emf.net--2005/tla--devo--1.3.1--patch-7
    lord@emf.net--libawk-exp-2005/tla--no-direct-column-slot-access--1.3.1--base-0
    lord@emf.net--libawk-exp-2005/tla--no-direct-column-slot-access--1.3.1--patch-1
    lord@emf.net--libawk-exp-2005/tla--no-direct-column-slot-access--1.3.1--patch-2
    lord@emf.net--libawk-exp-2005/tla--no-direct-column-slot-access--1.3.1--patch-3
    lord@emf.net--libawk-exp-2005/tla--no-direct-column-slot-access--1.3.1--patch-4
    lord@emf.net--libawk-exp-2005/tla--no-direct-column-slot-access--1.3.1--version-0
Summary: [on bug libawk-api-bogosities] step 2 of libawk cleanup
Keywords: 

  [[cartouche
    Testing (single platform):

	`make'

        `make test'

        *changeset burn-in tests*

  ]]

  Step 2 of the `libawk' cleanup follows much the same pattern as step
  1 which is found in.

  /Archive:/ `lord@emf.net--libawk-exp-2005'
  /Version:/ `tla--no-direct-column-slot-access--1.3.1' 

  This time to hide the repesentation of relational table rows and
  columns from client code.

  The declarations:

  [[tty
    struct rel_field
    {
      t_uchar * _f;
    };

    typedef struct rel_field rel_field;
    typedef rel_field * rel_record;
    typedef rel_record * rel_table;
  ]]

  are replaced for now by 

  [[tty
    struct rel_field
    {
      t_uchar * _f;
    };

    typedef struct rel_field rel_field;

    struct rel_record
    {
      rel_field * _c;
    };
    typedef struct rel_record rel_record;

    struct rel_table
    {
      rel_record * _r;
    };
    typedef struct rel_table rel_table;

    #ifndef REL_STATIC_DEFNS
    #define REL_STATIC_DEFNS
    static const rel_field rel_field_nil = { 0 };
    static const rel_record rel_record_nil = { 0 };
    static const rel_table rel_table_nil = { 0 };
    #endif
  ]]

  That change breaks all `libawk' client code that attempts to use a
  `rel_table' or `rel_record' as a pointer or array, allowing that
  code to be quickly located and repaired by following compiler error
  messages.

  The funtions `rel_peek_record', `rel_set_record', and
  `rel_add_field' were added to replace some of the idioms
  that formerly used array subscripting on `rel_table' and
  `rel_record' values.
